import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  // 容器的状态实现了数据共享 但是没有持久化的功能
  state: {
    user: JSON.parse(window.localStorage.getItem('user') || 'null'), // 当前登录用户状态
    headers: JSON.parse(window.localStorage.getItem('headers') || 'null') // 当前头信息
  },
  mutations: {
    // 修改容器数据，必须使用mutation函数
    setUser (state, payload) {
      state.user = JSON.parse(payload)
      // 本地存储只能存储字符串
      // 为了防止页面数据刷新丢失 我们需要将user 数据持久化
      window.localStorage.setItem('user', payload)
    },
    // 修改容器数据，必须使用mutation函数
    setHeaders (state, payload) {
      state.headers = JSON.parse(payload)
      // 本地存储只能存储字符串
      // 为了防止页面数据刷新丢失 我们需要将user 数据持久化
      window.localStorage.setItem('headers', payload)
    }
  },
  actions: {
  },
  modules: {
  }
})
